using System;

namespace RpgServiceLib.Quest
{
	public class EasyQuestChangeAllowedStrategy:DefaultQuestChangeAllowedStrategy
	{
		public EasyQuestChangeAllowedStrategy ()
		{
		}
		
		public bool IsAllowedToChangeListType (IQuest quest, QuestListType questListType)
		{
			if (quest.StatusOfQuest == QuestStatus.Accomplished) {
				return false;
			}
			if (quest.QuestListType==QuestListType.ListCanBeQuestedAtSameTime)
			{
				return false;
			}
		
			return true;
		}

		public bool IsAllowedToChandgeType (IQuest quest, QuestType questType)
		{
			if (quest.StatusOfQuest == QuestStatus.Accomplished) {
				return false;
			}
		
			return true;
		}
		
		public bool IsAllowedToChangeStatus (IQuest quest, QuestStatus newStatus)
		{
			if (quest.StatusOfQuest == QuestStatus.Accomplished) {
				return false;
			}
		
			return true;
		}
		
		public bool IsAllowedToAddQuest (IQuest quest, IQuest addquest)
		{
			if (quest.StatusOfQuest== QuestStatus.Accomplished || addquest.LinkedFromQuest!=null || addquest.StatusOfQuest == QuestStatus.Accomplished)
			{
				return false;
			}
		
			return true;
		}
	}
}

